From: Florian Müllner Date: Tue, 5 Feb 2013 17:45:21 +0000 (+0100) Subject: extensionSystem: Allow extensions to provide mode-specific styling X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~4960 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=234470646239f4f0ba0fc4df028f303029480128;p=gnome-shell.git extensionSystem: Allow extensions to provide mode-specific styling Allow extensions to integrate with modes that provide a distinct style by providing a mode-specific stylesheet. https://bugzilla.gnome.org/show_bug.cgi?id=693219 --- diff --git a/js/ui/extensionSystem.js b/js/ui/extensionSystem.js index 5e4bd6c8f..8c12e976b 100644 --- a/js/ui/extensionSystem.js +++ b/js/ui/extensionSystem.js @@ -106,11 +106,15 @@ function enableExtension(uuid) { extensionOrder.push(uuid); - let stylesheetFile = extension.dir.get_child('stylesheet.css'); - if (stylesheetFile.query_exists(null)) { - let theme = St.ThemeContext.get_for_stage(global.stage).get_theme(); - theme.load_stylesheet(stylesheetFile.get_path()); - extension.stylesheet = stylesheetFile; + let stylesheetNames = [global.session_mode + '.css', 'stylesheet.css']; + for (let i = 0; i < stylesheetNames.length; i++) { + let stylesheetFile = extension.dir.get_child(stylesheetNames[i]); + if (stylesheetFile.query_exists(null)) { + let theme = St.ThemeContext.get_for_stage(global.stage).get_theme(); + theme.load_stylesheet(stylesheetFile.get_path()); + extension.stylesheet = stylesheetFile; + break; + } } extension.stateObj.enable();